{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数组的创建"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0,  1,  2,  3,  4],\n",
       "       [ 5,  6,  7,  8,  9],\n",
       "       [10, 11, 12, 13, 14]])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "(3, 5)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "'int32'"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "15"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "numpy.ndarray"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "a = np.arange(15).reshape(3, 5)\n",
    "a\n",
    "a.shape\n",
    "a.ndim\n",
    "a.dtype.name\n",
    "a.itemsize\n",
    "a.size\n",
    "type(a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([6, 7, 8])"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "numpy.ndarray"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b = np.array([6, 7, 8])\n",
    "b\n",
    "type(b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dtype('float64')"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b = np.array([1.2, 3.5, 5.1])\n",
    "b.dtype"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = np.array(1,2,3,4)    # WRONG\n",
    "a = np.array([1,2,3,4])  # RIGHT"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1.5, 2. , 3. ],\n",
       "       [4. , 5. , 6. ]])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b = np.array([(1.5,2,3), (4,5,6)])\n",
    "b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0., 0., 0., 0.],\n",
       "       [0., 0., 0., 0.],\n",
       "       [0., 0., 0., 0.]])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "array([[[1, 1, 1, 1],\n",
       "        [1, 1, 1, 1],\n",
       "        [1, 1, 1, 1]],\n",
       "\n",
       "       [[1, 1, 1, 1],\n",
       "        [1, 1, 1, 1],\n",
       "        [1, 1, 1, 1]]], dtype=int16)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "array([[1.5, 2. , 3. ],\n",
       "       [4. , 5. , 6. ]])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.zeros( (3,4) )\n",
    "np.ones( (2,3,4), dtype=np.int16 )                # dtype can also be specified\n",
    "np.empty( (2,3) )                                 # uninitialized, output may vary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([10, 15, 20, 25])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "array([0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.arange( 10, 30, 5 )\n",
    "np.arange( 0, 2, 0.3 )                 # it accepts float arguments"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.  , 0.25, 0.5 , 0.75, 1.  , 1.25, 1.5 , 1.75, 2.  ])"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "array([0.        , 0.06346652, 0.12693304, 0.19039955, 0.25386607,\n",
       "       0.31733259, 0.38079911, 0.44426563, 0.50773215, 0.57119866,\n",
       "       0.63466518, 0.6981317 , 0.76159822, 0.82506474, 0.88853126,\n",
       "       0.95199777, 1.01546429, 1.07893081, 1.14239733, 1.20586385,\n",
       "       1.26933037, 1.33279688, 1.3962634 , 1.45972992, 1.52319644,\n",
       "       1.58666296, 1.65012947, 1.71359599, 1.77706251, 1.84052903,\n",
       "       1.90399555, 1.96746207, 2.03092858, 2.0943951 , 2.15786162,\n",
       "       2.22132814, 2.28479466, 2.34826118, 2.41172769, 2.47519421,\n",
       "       2.53866073, 2.60212725, 2.66559377, 2.72906028, 2.7925268 ,\n",
       "       2.85599332, 2.91945984, 2.98292636, 3.04639288, 3.10985939,\n",
       "       3.17332591, 3.23679243, 3.30025895, 3.36372547, 3.42719199,\n",
       "       3.4906585 , 3.55412502, 3.61759154, 3.68105806, 3.74452458,\n",
       "       3.8079911 , 3.87145761, 3.93492413, 3.99839065, 4.06185717,\n",
       "       4.12532369, 4.1887902 , 4.25225672, 4.31572324, 4.37918976,\n",
       "       4.44265628, 4.5061228 , 4.56958931, 4.63305583, 4.69652235,\n",
       "       4.75998887, 4.82345539, 4.88692191, 4.95038842, 5.01385494,\n",
       "       5.07732146, 5.14078798, 5.2042545 , 5.26772102, 5.33118753,\n",
       "       5.39465405, 5.45812057, 5.52158709, 5.58505361, 5.64852012,\n",
       "       5.71198664, 5.77545316, 5.83891968, 5.9023862 , 5.96585272,\n",
       "       6.02931923, 6.09278575, 6.15625227, 6.21971879, 6.28318531])"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "array([ 0.00000000e+00,  6.34239197e-02,  1.26592454e-01,  1.89251244e-01,\n",
       "        2.51147987e-01,  3.12033446e-01,  3.71662456e-01,  4.29794912e-01,\n",
       "        4.86196736e-01,  5.40640817e-01,  5.92907929e-01,  6.42787610e-01,\n",
       "        6.90079011e-01,  7.34591709e-01,  7.76146464e-01,  8.14575952e-01,\n",
       "        8.49725430e-01,  8.81453363e-01,  9.09631995e-01,  9.34147860e-01,\n",
       "        9.54902241e-01,  9.71811568e-01,  9.84807753e-01,  9.93838464e-01,\n",
       "        9.98867339e-01,  9.99874128e-01,  9.96854776e-01,  9.89821442e-01,\n",
       "        9.78802446e-01,  9.63842159e-01,  9.45000819e-01,  9.22354294e-01,\n",
       "        8.95993774e-01,  8.66025404e-01,  8.32569855e-01,  7.95761841e-01,\n",
       "        7.55749574e-01,  7.12694171e-01,  6.66769001e-01,  6.18158986e-01,\n",
       "        5.67059864e-01,  5.13677392e-01,  4.58226522e-01,  4.00930535e-01,\n",
       "        3.42020143e-01,  2.81732557e-01,  2.20310533e-01,  1.58001396e-01,\n",
       "        9.50560433e-02,  3.17279335e-02, -3.17279335e-02, -9.50560433e-02,\n",
       "       -1.58001396e-01, -2.20310533e-01, -2.81732557e-01, -3.42020143e-01,\n",
       "       -4.00930535e-01, -4.58226522e-01, -5.13677392e-01, -5.67059864e-01,\n",
       "       -6.18158986e-01, -6.66769001e-01, -7.12694171e-01, -7.55749574e-01,\n",
       "       -7.95761841e-01, -8.32569855e-01, -8.66025404e-01, -8.95993774e-01,\n",
       "       -9.22354294e-01, -9.45000819e-01, -9.63842159e-01, -9.78802446e-01,\n",
       "       -9.89821442e-01, -9.96854776e-01, -9.99874128e-01, -9.98867339e-01,\n",
       "       -9.93838464e-01, -9.84807753e-01, -9.71811568e-01, -9.54902241e-01,\n",
       "       -9.34147860e-01, -9.09631995e-01, -8.81453363e-01, -8.49725430e-01,\n",
       "       -8.14575952e-01, -7.76146464e-01, -7.34591709e-01, -6.90079011e-01,\n",
       "       -6.42787610e-01, -5.92907929e-01, -5.40640817e-01, -4.86196736e-01,\n",
       "       -4.29794912e-01, -3.71662456e-01, -3.12033446e-01, -2.51147987e-01,\n",
       "       -1.89251244e-01, -1.26592454e-01, -6.34239197e-02, -2.44929360e-16])"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from numpy import pi\n",
    "np.linspace( 0, 2, 9 )                 # 9 numbers from 0 to 2\n",
    "x = np.linspace( 0, 2*pi, 100 )        # useful to evaluate function at lots of points\n",
    "x\n",
    "f = np.sin(x)\n",
    "f"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Printing Arrays"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Basic Operations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1, 1],\n",
       "       [0, 1]])"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "array([[2, 0],\n",
       "       [3, 4]])"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "array([[5, 4],\n",
       "       [3, 4]])"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "A = np.array( [[1,1], [0,1]] )\n",
    "B = np.array( [[2,0], [3,4]] )\n",
    "A\n",
    "B\n",
    "A * B \n",
    "A @ B"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Hadamard product"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### matrix product"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
